Shared access to computing resources using wireless communications

ABSTRACT

A method includes determining a location of a device based on wireless communication of the device with one or more line-of-sight dependent communication devices that allow data transmission between the device and a base station, determining content to be provided to the device based in part on the location of the device, performing computing operations that correspond to the content at the base station using inputs transmitted to the base station from the device, and transmitting outputs of the computing operations from the base station to the device for display at the device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/423,334, filed on May 28, 2019, which claims the benefit of U.S.Provisional Application No. 62/712,532 filed on Jul. 31, 2018. Thecontents of the foregoing applications are hereby incorporated byreference herein in their entireties for all purposes.

FIELD

The present disclosure relates generally to the field of systems forsharing computing resources.

BACKGROUND

Computing devices come in many forms and are incorporated are in manytypes of devices. Examples include desktop computers, laptop computers,tablet computers, gaming consoles, television set-top boxes, smarttelevisions, smart speakers, computer-generated reality display devices,smart phones, and smart watches.

SUMMARY

One aspect of the disclosure is a method that includes determining alocation of a device based on wireless communication of the device withone or more line-of-sight dependent communication devices that allowdata transmission between the device and a base station, determiningcontent to be provided to the device based in part on the location ofthe device, performing computing operations that correspond to thecontent at the base station using inputs transmitted to the base stationfrom the device, and transmitting outputs of the computing operationsfrom the base station to the device for display at the device.

In some implementations of the method, determining the content to beprovided to the device includes determining that a first content item isto be provided to the device if the location of the device is a firstlocation and determining that second content item is to be provided tothe device if the location of the device is a second location.

In some implementations of the method, determining the content to beprovided to the device includes determining that a first graphical themeis to be provided to the device if the location of the device is a firstlocation and determining that a second graphical theme is to be providedto the device if the location of the device is a second location.

In some implementations of the method, determining the content to beprovided to the device includes determining that a first list ofavailable content is to be provided to the device if the location of thedevice is a first location and determining that a second list ofavailable content is to be provided to the device if the location of thedevice is a second location.

Determining the content to be provided to the device is based in part ona device type for the device. Determining the content to be provided tothe device may be based in part on an identity of a user of the device.In some implementations, the identity of the user of the device isdetermined by obtaining a biometric signal from the device and matchingthe biometric signal to a user profile at the base station.

In some implementations of the method, determining content to beprovided to the device is based in part on presence of co-locateddevices at the location of the device.

In some implementations of the method, the method includes determiningthat the location of the device has changed from a first location to asecond location, determining that access to the content is not allowedat the second location, and terminating computing operations for thecontent.

In some implementations of the method, the one or more line-of-sightdependent communication devices use a 60 GHz frequency band.

Another aspect of the disclosure is a system that includes a basestation, a device, a first access point that provides line-of-sightdependent wireless communication with the device to allow datatransmission between the base station and the device when the device ispresent at a first location, and a second access point that providesline-of-sight dependent wireless communication with the device to allowdata transmission between the base station and the device when thedevice is present at a second location. The base station is operable toprovide computing resources to the device, the base station provides thedevice with access to a first group of content items when the deviceconnects to the base station using the first access point, and the basestation provides the device with access to a second group of contentitems when the device connects to the base station using the secondaccess point.

In some implementations of the system, the base station causes a userinterface screen of the device to use a first graphical theme when thedevice connects to the base station using the first access point, andthe base station causes the user interface screen of the device to use asecond graphical theme when the device connects to the base stationusing the second access point.

The first group of content items and the second group of content itemsmay be dependent on a device type for the device. The first group ofcontent items and the second group of content items may be dependent onan identity of a user of the device. The identity of the user of thedevice may be determined by the base station using a biometric signalthat is received from the device.

In some implementations of the system, the first access point and thesecond access point are each operable to communicate with the deviceusing a 60 GHz frequency band.

Another aspect of the disclosure is a method. The method includesproviding computing resources to a device from a first base stationusing a first line-of-sight dependent wireless communication link,storing user data at the first base station, determining that the devicehas disconnected from the first base station, and, in response todetermining that the device has disconnected from the first basestation, transmitting at least some of the user data from the first basestation to a second base station to define synchronized user data at thesecond base station. The method also includes providing computingresources to the device from the second base station using a secondline-of-sight dependent wireless communication link and based in part onthe synchronized user data.

In some implementations of the method, the first base station is at afirst location, the second base station is at a second location, and thefirst location is remote from the second location such that the devicecannot connect to the second base station using the second line-of-sightdependent wireless communication link while the device is present at thefirst location.

In some implementations of the method, transmitting at least some of theuser data from the first base station to the second base station todefine the synchronized user data at the second base station occurswhile the device is in transit from the first location to the secondlocation.

In some implementations of the method, the first line-of-sight dependentwireless communication link and the second line-of-sight dependentwireless communication link use a 60 GHz frequency band.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that shows a computing system that includes abase station and connected devices.

FIG. 2 is a block diagram that shows an example of a hardwareconfiguration that can be used to implement the base station.

FIG. 3 is a block diagram that shows an example of a hardwareconfiguration that can be used to implement the connected devices.

FIG. 4 is a flowchart that shows an example of a process for sharingcomputing resources between the base station and the connected devices.

FIG. 5 is a flowchart that shows an example of a process for identifyinga user of one of the connected devices.

FIG. 6 is an illustration that shows an example of a computing systemthat is located in a building.

FIG. 7 is a flowchart that shows an example of a process forlocation-based access control and/or location based filtering ofcontent.

FIG. 8 is a flowchart that shows an example of a process for accesscontrol for content based on co-location of devices.

FIG. 9 is an illustration of a computing system that includes a firstbase station, a second base station, and a device, in which the deviceis connected to the first base station by a first wireless communicationlink.

FIG. 10 is an illustration of the computing system, in which the deviceis in transit between the first location and the second location.

FIG. 11 is an illustration of the computing system, in which the deviceis connected to the second base station by a second wirelesscommunication link.

FIG. 12 flowchart that shows an example of a process for synchronizingdata.

DETAILED DESCRIPTION

The disclosure herein relates to a computing system in which computingresources at a base station are shared with multiple connected devicesusing a high-bandwidth wireless communication link. The connecteddevices include input and output functionalities, as opposed to beingconfigured solely for output. Sharing the computing resources of thebase station with the connected devices allows computing power, datastorage, and user preference storage to be centralized, as opposed torequiring redundant computing power and information storage at each ofmultiple devices. As a result, the connected devices may be simplified,have reduced power consumption, increased battery life, reduced mass,and reduced cost. High-powered computing devices can be present only inthe base station, and may be omitted from the connected devices,limiting the need for thermal management at the connected devices, andinstead allowing thermal management to be handled centrally at the basestation. In addition, data stored at the base station remains availableif one of the connected devices is lost or damaged. Also, performanceupgrades may be made at the base station only and provide benefits toall of the connected devices.

FIG. 1 is a block diagram that shows a computing system 100. Thecomputing system 100 includes a base station 102 and connected devices104. Each of the connected devices 104 communicates with the basestation 102 using a wireless communication link 106. For example, eachof the connected devices 104 may transmit information to the basestation 102 using the wireless communication link 106, and the basestation 102 may transmit information to the connected devices 104 usingthe wireless communication link 106.

Generally stated, the base station 102 is a computing device that isconfigured to provide computing resources to the connected devices 104.The base station 102 may be co-located with the connected devices 104,such as by presence in the same building (e.g., home or business), andby direct, local connection to the wireless communications devices usedto establish the wireless communication link 106 between the basestation 102 and each of the connected devices 104.

The connected devices 104 are devices that can benefit from use of thecomputing resources of the base station 102. As examples, the connecteddevices may include desktop computers, laptop computers, tabletcomputers, gaming consoles, television set-top boxes, smart televisions,smart speakers, computer-generated reality display devices (e.g.,including virtual reality and augmented reality), smart phones, andsmart watches. Multiple different types of the connected devices 104with varied architectures and configurations may be concurrently used inconjunction with the base station 102.

Some of the connected devices 104 may include only minimal computingresources, intended to allow strictly local functions to be performed,such as reading input devices, managing communications functions, andcausing content to be output for display. In these types ofimplementations, application software may be present only at the basestation 102, and all application specific computing functions may beperformed at the base station 102. Thus, the base station 102 may allowone of the connected devices 104 to use an application and/or delivercontent from that application from a user, when doing so would not bepossible without use of the computing resources at the base station 102.

Some of the connected devices 104 include computing resources that allowapplication software to be executed at the connected devices 104,without use of the base station 102. In such implementations, additionalcomputing resources can be provided by the base station 102 to enhanceuse of the application software (e.g., faster processing, more visualdetail, higher framerates, higher spatial resolution), to performcertain compute-intensive functions, to reduce battery usage by theconnected devices 104, and/or to reduce heat generation by the connecteddevices 104. Thus, the base station 102 may enhance the way content isused and/or presented to a user, when additional computing resources areprovided to the connected devices 104, as compared to when the computingtasks associated with the content are performed only at the respectiveone of the connected devices 104 without using additional computingresources from the base station 102.

In the illustrated example, three of the connected devices 104 are shownas being in communication with the base station 102. It should beunderstood, however, that the base station 102 is not limited tooperation using three of the connected devices 104 and can be used withother numbers of the connected devices 104 such as with one of theconnected devices 104 or with twelve of the connected devices 104.

The wireless communication link 106 is a high-bandwidth, low-latencydata connection. As an example, the wireless communication link 106 maybe configured to support data transfer at sustained rates of greaterthan six gigabits per second. The wireless communication link 106 may beimplemented using a 60 GHz frequency band (i.e., between approximately57 GHz and 64 GHz). Do to use of high-frequencies, such as the 60 GHzfrequency band, the wireless communication link 106 may be line-of-sightdependent, meaning that the signal quality between a transmitter and areceiver degrades dramatically if any physical barriers (e.g., walls,people, etc.) For example, the wireless communication link 106 may beimplemented using the Wi-Gig standard or the IEEE 802.11ad standard,which are well-suited to high-bandwidth, low-latency wireless datatransmission applications in which line-of-sight is available.

FIG. 2 is a block diagram that shows an example of a hardwareconfiguration that can be used to implement the base station 102. Thebase station 102 may include a processor 211, a memory device 212, astorage device 213, and a communications device 214. The storage device213 may be used to store information that is utilized when providingcomputing services to the connected devices 104, such as applications215 and profiles 216.

The processor 211 is a device that is operable to execute computerprogram instructions and is operable to perform operations that aredescribed by the computer program instructions. The processor 211 may beimplemented using a conventional device, such as a central processingunit. The memory devices 212 may be a volatile, high-speed, short-terminformation storage device such as a random-access memory module. Thestorage device 213 is intended to allow for long term storage ofcomputer program instructions and other data. Examples of suitabledevices for use as the storage device 213 include non-volatileinformation storage devices of various types, such as a flash memorymodule, a hard drive, or a solid-state drive.

The communications device 214 supports wireless communications accordingto the previous description of the wireless communication link 106. Thecommunications device 214 may also support wired or wirelesscommunications connections according to other protocols.

The applications 215 are computer programs that are executed by the basestation 102, are operable to provide content to be displayed at theconnected devices 104, and are operable to respond (e.g., change anaspect of execution of the program) to inputs received from theconnected devices 104. The profiles 216 each contain information that isassociated with a particular user or a particular device. The profiles216 are stored only with permission from the users, and are encrypted toprevent unauthorized access to the information stored in them.

Since the base station 102 may function as a server computer that isonly accessed remotely (e.g., through a terminal session or abrowser-based configuration application), input devices and outputdevices are omitted, but could be included if desired for particularapplications.

FIG. 3 is a block diagram that shows an example of a hardwareconfiguration that can be used to implement the connected devices 104.The connected devices may each include a processor 321, a memory device322, a storage device 323, a communications device 324, one or moreinput devices 327, one or more output devices 328, and sensors 329.

The processor 321 is a device that is operable to execute computerprogram instructions and is operable to perform operations that aredescribed by the computer program instructions. The processor 321 may beimplemented using a conventional device, such as a central processingunit. In some implementations of the connected devices 104, theprocessor 321 may be a special-purpose processor as opposed to ageneral-purpose processing device, and may implement limited set offunctions, such as input management functions, content displayfunctions, and communications functions.

The memory device 322 may be a volatile, high-speed, short-terminformation storage device such as a random-access memory module. Thestorage device 323 is intended to allow for long term storage ofcomputer program instructions and other data. Examples of suitabledevices for use as the storage device 323 include non-volatileinformation storage devices of various types, such as a flash memorymodule, a hard drive, or a solid-state drive. In some implementations ofthe connected devices 104, the storage device 323 is omitted.

The input devices 327 are human-machine interfaces that allow a user todirectly interact with the base station 102 and may include, asexamples, a keyboard, a touchscreen input device, a gestural inputdevice, an audio input device (e.g., a microphone), a control stick, ora position-tracked controller. The output devices 328 may include, asexamples, a display screen, a projected display, an audio output, or ahaptic output.

The communications device 324 supports wireless communications accordingto the previous description of the wireless communication link 106. Thecommunications device 324 may also support wired or wirelesscommunications connections according to other protocols.

The sensors 329 are optional components that are incorporated in certaintypes of the connected devices, and may include conventional componentssuch as cameras, infrared cameras, infrared emitters, depth cameras,structured-light sensing devices, accelerometers, gyroscopes, andmagnetometers. The sensors 329 may also include biometric sensors thatare operable to physical or physiological features of a person, forexample, for use in user identification and authorization. Biometricsensors may include fingerprint scanners, retinal scanners, and facescanners (e.g., two-dimensional and three-dimensional scanningcomponents operable to obtain image and/or three-dimensional surfacerepresentations). Other types of devices can be incorporated in thesensors 329, according to the configuration and purposes of theconnected devices, and the information (i.e., sensor output signals)generated by the sensors can be transmitted to the base station 102.

FIG. 4 is a flowchart that shows an example of a process 440 for sharingcomputing resources between the base station 102 and the connecteddevices 104. The process 440 may be performed, for example, using acomputer device that includes a processor and a memory that storesprogram instructions, wherein the program instructions cause theprocessor to perform the operations that are included in the process 440when the program instructions are executed by the processor. As anexample, the process 440 can be performed using the base station 102 andone or more of the connected devices 104.

In operation 441, a device, such as one of the connected devices 104, ispaired with a base station, such as the base station 102. Pairing thedevice with the base station establishes a communications link betweenthe device and the base station, as described with respect to thewireless communication link 106. When the device and the base stationare paired, information can be sent from the device to the base stationfor use in computing operations, and the output of those computingoperations can be transmitted to the device for display to a user of thedevice.

In operation 442, execution of an application is started at the basestation. Execution of the application can be started, for example, inresponse to a request that is made by a user of the device, such asselection of the application from a menu that is displayed at thedevice. Thus, operation 442 may include receiving a user input at thedevice that selects an application, transmitting the request from thedevice to the base station, and initiating execution of the applicationat the base station.

In operation 443, the base station performs computing operations thatare part of the application for which execution was initiated inoperation 442. The computing operations that are performed in operation443 generate content. Content means any text, graphics, user interfaces,applications, or other information in any form that can be transmittedfrom the base station to the device and output for display by thedevice. In operation 444, the content generated by the computingoperations that were performed in operation 443 are transmitted from thebase station to the device. At the device, in response to receiving thetransmission of content from the base station 102, the device can outputthe content for display to the user. Stated another way, after the basestation commences performance of computing operations that correspond tothe content, the base station commences transmitting the outputs thatcorrespond to the content in a manner that allows those outputs to bedisplayed to a user by way of the device.

In operation 445, information is received at the base station thatrepresents an input made at the device. The term input means informationcollected by any component that is associated with the device, includinginformation from human-machine interfaces representing explicit inputsmade by users, and including information made from sensors that senseconditions of the device or conditions of the environment around thedevice. Therefore, the inputs may be obtained by the device as signalsfrom input devices or sensors, and the signals and/or informationcorresponding to the signals may be transmitted from the device to thebase station. The inputs are utilized by the base station in thecomputing operations that correspond to the content, as described withrespect to operation 443, such that the computing operations areperformed in dependence upon the inputs.

In operation 446, a decision is made at the base station as to whetherexecution of the application should be continued. Execution of theapplication can be terminated, for example, in response to satisfactionof a condition. The condition may be, as examples, receipt of a requestfrom the device to terminate execution of the application, passage of apredetermined time period of inactivity, or loss of communicationsbetween the base station and the device. If it is determined thatexecution of the application should continue, the base station continuesexecution of the application and the process returns to operation 443where the inputs from operation 445 are used by the base station infurther computing operations. If it is determined that execution of theapplication should terminate, the base station terminates execution ofthe application in operation 447 and the process 440 ends. For example,terminating execution of the application can include terminatingcomputing operations at the base station that correspond to theapplication and terminating transmission of content for display by thedevice.

FIG. 5 is a flowchart that shows an example of a process 540 foridentifying a user of one of the connected devices 104. The process 540may be performed, for example, using a computer device that includes aprocessor and a memory that stores program instructions, wherein theprogram instructions cause the processor to perform the operations thatare included in the process 540 when the program instructions areexecuted by the processor. As an example, the process 540 can beperformed using the base station 102 and one or more of the connecteddevices 104.

In operation 541, a biometric signal is obtained from a device sensor,which may be, for example, one of the sensors 329 of one of theconnected devices 104. As one example, the biometric signal may be orinclude a scanned finger print of the user of the device. As anotherexample, the biometric signal may be or include information thatrepresents the appearance and/or three-dimensional shape of the user'sfaces, such as an image of the user's face, a series of images of theuser's face, a depth-image of the user's face, or a point cloudrepresenting the user's face. As another example, the biometric signalmay be or include an audio recording of the user's voice or informationrepresenting an audio recording of the user's voice. As another example,the biometric signal may be or include imaging of all or part of theuser's eye (e.g., a retinal scan). In operation 542, the biometricsignal that was obtained in operation 541 is transmitted from the deviceto the base station.

In operation 543, the biometric signal is matched with a user profilethat is stored at the base station. This allows the base station toidentify the user that is attempting to utilize the device and theapplications that are stored at the base station, and to simultaneouslyauthenticate the user. In some implementations, the user makes anaffirmative selection of a user profile before authentication using thebiometric signal. This allows the base station to compare the biometricsignal to a single profile only, without attempting to compare thebiometric signal to other profiles. In other implementations, selectionof the user profile is performed by comparing the biometric signal tomultiple user profiles stored by the base station until a match isfound.

In operation 544, the base station grants the device access toapplications and/or other (collectively, “content items”) that areassociated with the user profile that was identified in operation 543using the biometric signal. In operation 545 the content is transmittedto the device from the base station. As an example, the base station maytransmit content to the device that causes a menu to be displayed by thedevice, where the menu includes representations of applications thathave been identified as available for use by the user of the device,based on information stored as part of the user profile.

FIG. 6 is an illustration that shows an example of a computing system600 that is located in a building 651. The building 651 is divided intoa first room R1 and a second room R2 by a wall 652. The computing systemincludes a base station 602, a first device 604 a, a second device 604b, and a third device 604 c, which are configured according to thedescription of the base station 102 and the connected devices 104 ofFIG. 1.

The base station 602 can communicate wirelessly with the first throughthird devices 604 a-604 c using a first access point 614 a and a secondaccess point 614 b, which are wireless networking devices (e.g.,wireless routers, wireless access points, antennas having wiredconnections to wireless routers or access points, wireless repeaters,etc.) that are directly or indirectly connected to the base station 602by wired connections. The first access point 614 a and the second accesspoint 614 b may be configured according to the description of thecommunications device 214 and likewise support wireless communicationsaccording to the previous description of the wireless communication link106.

The first access point 614 a is located in the first room R1 and thesecond access point 614 b is located in the second room R2. The firstaccess point 614 a can communicate wirelessly with the first device 604a and the second device 604 b, since they are also in the first room R1.Presence of the wall 652 blocks line-of-sight from the first accesspoint 614 a to the third device 604 c, which prevents the third device604 c from communicating with the base station 602 using the firstaccess point 614 a. The second access point 614 b can communicatewirelessly with the third device 604 c since it is also in the secondroom R2. Presence of the wall 652 blocks line-of-sight from the secondaccess point 614 b to the first device 604 a and the second device 604b, which prevents the first device 604 a and the second device 604 bfrom communicating with the base station 602 using the second accesspoint 614 b.

The base station 602 can determine, for each of the first through thirddevices 604 a-604 c, which of the access points is being used forcommunication with the base station 602. This information may be used bythe base station for to allow or deny access to content to the firstthrough third devices 604 a-604 c based on location. This allowsroom-specific content to be displayed to the user of a device, such asby presenting business applications on a menu when the device is in aroom used as an office and, presenting entertainment media content whenthe device is in a living room or other entertainment-centric space, orpresenting cooking-related applications and media when the device is ina kitchen. This also allows parental control (or equivalent contentcontrols) to be applied on a room by room basis. For example, internetaccess could be restricted if the device is present in a first room, andpermitted if the device is in a second room.

As one example, content access may be determined on a room-by-room basis(as well as a per device basis), such as by providing a respective oneof the first through third devices 604 a-604 c access to a first groupof one or more content items when the device is at a first location(e.g., the first room R1) and providing access to a second group of oneor more content items when the device is at a second location (e.g., thesecond room R2).

If the first through third devices 604 a-604 c change locations, such asby moving from the first room R1 to the second room R2, the devices maylose communication with one of the first access point 614 a or thesecond access point 614 b, and establish communication with the otheraccess point. This change can be used as a basis for determining thatone of the devices has moved to a new location.

FIG. 7 is a flowchart that shows an example of a process 760 forlocation-based access control and/or location based filtering ofcontent. The process 760 may be performed, for example, using a computerdevice that includes a processor and a memory that stores programinstructions, wherein the program instructions cause the processor toperform the operations that are included in the process 760 when theprogram instructions are executed by the processor. The process 760 canbe performed using a base station that is connected to multiple accesspoints and is able to establish a wireless communication link with oneor more devices using one of the access points. As an example, theprocess 760 can be performed using the base station 602 and one or moreof the first through third devices 604 a-604 c using the first accesspoint 614 a or the second access point 614 b.

In operation 761 the location of a device is determined. The location isdetermined based on the identity of an access point that the device isusing to communication with a base station using a line-of-sightdependent communication link by which data is transferred between thedevice and the base station. The access point is a line-of-sightdependent communication device that is associated with a known location,such as a room inside a building.

In operation 762, the base station determines application access for thedevice. Application access is determined in part based on the locationof the device, as identified by the identity of the access point thatthe device is using to communicate with the base station. Applicationaccess may be further be determined based on a device type for thedevice (e.g., a first group of applications are made available to atablet computer, while a second group of applications are made availableto a virtual reality headset). Application access may be furtherdetermined by an identify of the user of the device, as describedpreviously with respect to user profiles and authentication.

In one implementation, the location of the device is used to allow ordeny access to applications or other content. Thus, an application ismade available to the device by the base station when the deviceconnects to the base station using a first access point (e.g., the firstaccess point 614 a) and the application is not made available to thedevice by the base station when the device connects to the base stationusing a second access point (e.g., the second access point 614 b).

In another implementation, the location of the device is utilized tocustomize an application, such as a menu. For example, a home screenuser interface for the device can display a first list of applicationsand/or utilize a first graphical theme the device connects to the basestation using a first access point (e.g., the first access point 614 a)and the home screen user interface for the device can display a secondlist of applications and/or utilize a second graphical theme when thedevice connects to the base station using a second access point (e.g.,the second access point 614 b).

In operation 763, the application is executed by the base station andcorresponding content is transmitted to the device, which may includesome or all of the operations explained with respect to the process 440.The application may be a user interface provided to the device withoutuser selection, such as a location-filtered list of applications orlocation-specific version of the home screen user interface discussedpreviously. Or the application can be provided to the device based onuser-selection of the application, subject to verification by the basestation that access to the application is allowed based on the locationof the device and optionally based on the device type and/or based onthe identity of the user.

In operation 764, a determination is made as to whether the location ofthe device has changed. For example, the base station can determine thatthe location of the device has changed if the device has established acommunications link with the base station using a different access pointthan the one used previously. If the location of the device has notchanged, the process returns to operation 763. If the location of thedevice has changed, the process continues to operation 765.

In operation 765, a determination is made as to whether the device isallowed to access the currently-executing application from the currentlocation. If the device is allowed to access the application from thecurrent location, the process returns to operation 763 and execution ofthe application continues. If the device is not allowed to access theapplication from the current location, the process continues tooperation 766 where execution of the application by the base station isterminated before the process 760 returns to operation 761.

FIG. 8 is a flowchart that shows an example of a process 860 for accesscontrol for content based on co-location of devices. The process 860 maybe performed, for example, using a computer device that includes aprocessor and a memory that stores program instructions, wherein theprogram instructions cause the processor to perform the operations thatare included in the process 860 when the program instructions areexecuted by the processor. The process 860 can be performed using a basestation that is connected to multiple access points and is able toestablish a wireless communication link with one or more devices usingone of the access points. As an example, the process 860 can beperformed using the base station 602 and one or more of the firstthrough third devices 604 a-604 c using the first access point 614 a orthe second access point 614 b.

In operation 861 the location of a device is determined. The location isdetermined based on the identity of an access point that the device isusing to communication with a base station using a line-of-sightdependent communication link by which data is transferred between thedevice and the base station. The access point may be associated with aknown location, such as a room inside a building.

In operation 862, the base station determines application access for thedevice based on the presence of co-located devices. Co-located devicesare other devices that are present at the same location as the device,as identified by the identity of the access point that the device andthe co-located devices are using to communicate with the base station.As an example, the base station may utilize an access list or accesscontrol policy that allows access to applications and other content onlywhen all the devices (and/or the users currently using the devices) areallowed to access the applications or other content. For example, aparental controls policy may specify that use of certain applications ormedia items is not allowed when a device associated with a specific user(e.g., a child) is present at the same location. In someimplementations, operation 862 may include determining a list ofco-located devices and determining whether all devices from the list ofco-located devices are allowed to access a particular application.

After determining that access to the application is permitted, inoperation 863, the application is executed by the base station andcorresponding content is transmitted to the device, which may includesome or all the operations explained with respect to the process 440.

In operation 864, a determination is made as to whether the co-locateddevices have changed. For example, the co-located devices may changewhen any device enters or leaves the location, thus starting or endingcommunications with the base station using the same access point as thedevice. If the co-located devices have not changed, the process returnsto operation 863. If the co-located devices have changed, the processproceeds to operation 865.

In operation 865, a determination is made as to whether the device isallowed to access the currently-executing application based on thepresent co-located devices. This may be performed as described withrespect to operation 862. If the device is allowed to access thecurrently-executing application, the process returns to operation 863where execution of the application continues. If the device is notallowed to access the currently-executing application, the processproceeds to operation 866, in which execution of the applicationterminates before the process returns to operation 861.

FIG. 9 is an illustration of a computing system 900 that includes afirst base station 902 a, a second base station 902 b, and a device 904,in which the device 904 is connected to the first base station 902 a bya first wireless communication link 906 a. The components of computingsystem 900 are as described with respect to the computing system 100except as otherwise described herein.

The first base station 902 a is located at a first location 971 a. As anexample, the first location could be a workplace. While the device 904is connected to the first base station 902 a, first user data 972 a isstored at the first base station 902 a. The second base station 902 b islocated at a second location 971 b. As an example, the second locationcould be a residence. While the device 904 is connected to the secondbase station 902 b, second user data 972 b is stored at the second basestation 902 b. The first location 971 a and the second location 971 bcan be locations that are remote from each other such that, for example,the device 904 cannot connect to the second base station 902 b while itis located at the first location 971 a, and vice versa.

FIG. 10 is an illustration of the computing system 900, in which thedevice 904 is in transit between the first location 971 a and the secondlocation 971 b. In response to determining that the device 904 is nolonger connected to the first base station 902 a, the first base stationcan synchronize the first user data 972 a with the second user data 972b at the second base station 902 b. For example, the first base station902 a could transmit some or all the first user data 972 a to the secondbase station 902 b using a data connection 1073 that is establishedusing wired and/or wireless communications networks, which may include,for example, the Internet. The transmitted data is used to update orreplace some or all the second user data 972 b, such that the sameinformation is included in the first user data 972 a and the second userdata 972 b, such that the two sets of data are synchronized.

FIG. 11 is an illustration of the computing system 900, in which thedevice 904 is connected to the second base station 902 b by a secondwireless communication link 906 b. The second base station 902 bprovides computing resources to the device 904 while using the seconduser data 972 b. Connection of the device 904 and use of the computingresources of the second base station 902 b may commence aftersynchronization of the first user data 972 a and the second user data972 b.

FIG. 12 is a flowchart that shows an example of a process 1280 forsynchronizing data. The process 1280 may be performed, for example,using a computer device that includes a processor and a memory thatstores program instructions, wherein the program instructions cause theprocessor to perform the operations that are included in the process1280 when the program instructions are executed by the processor. As anexample, the process 1280 can be performed using the first base station902 a, the second base station 902 b, and the device 904.

In operation 1281 computing resources are provided to a device by afirst base station at a first location. For example, operation 1281 canbe performed in accordance with the description of the computing system900, by providing computing resources to the device 904 from the firstbase station 902 a while the device 904 is present near the first basestation 902 a, such as by presence of the device 904 at the firstlocation 971 a. While computing resources are being provided to thedevice, data may be stored and/or modified by the base station, asdescribed in connection with storage of first user data 972 a by thefirst base station 902 a.

In operation 1282, the first base station determines that the device hasdisconnected from the first base station. As an example, the first basestation 902 a can detect that the first wireless communication link 906a is no longer active, in response to receiving information indicating adisconnection of the device 904, or in response to detecting that nocommunication has been received from the device 904 over a period oftime that is greater than a predetermined period of time.

In operation 1283, in response to determining that the device hasdisconnected from the first base station, the user data that was storedand/or modified while the first base station was providing computingresources to the device is transmitted to a second base station. Duringoperation 1283, the device may be in transit (e.g., carried by a persontravelling from their place of business to their home) from a firstlocation associated with the first base station to a second locationassociated with a second base station, as described with respect totransportation of the device 904 from the first location 971 a to thesecond location 971 b. Transmission of the user data can be performed inthe manner described with synchronization of the first user data 972 aand the second user data 972 b using the data connection 1073.

In operation 1284 computing resources are provided to the device by thesecond base station at the second location. For example, operation 1284can be performed in accordance with the description of the computingsystem 900, by providing computing resources to the device 904 from thesecond base station 902 b while the device 904 is present near thesecond base station 902 b, such as by presence of the device 904 at thesecond location 971 b. While computing resources are being provided tothe device, data may be stored and/or modified by the base station, forexample, by modification and/or storage of the second user data 972 b bythe second base station 902 b.

A physical environment refers to a physical world that people can senseand/or interact with without aid of electronic systems. Physicalenvironments, such as a physical park, include physical articles, suchas physical trees, physical buildings, and physical people. People candirectly sense and/or interact with the physical environment, such asthrough sight, touch, hearing, taste, and smell.

In contrast, a computer-generated reality (CGR) environment refers to awholly or partially simulated environment that people sense and/orinteract with via an electronic system. In CGR, a subset of a person'sphysical motions, or representations thereof, are tracked, and, inresponse, one or more characteristics of one or more virtual objectssimulated in the CGR environment are adjusted in a manner that comportswith at least one law of physics. For example, a CGR system may detect aperson's head turning and, in response, adjust graphical content and anacoustic field presented to the person in a manner similar to how suchviews and sounds would change in a physical environment. In somesituations (e.g., for accessibility reasons), adjustments tocharacteristic(s) of virtual object(s) in a CGR environment may be madein response to representations of physical motions (e.g., vocalcommands).

A person may sense and/or interact with a CGR object using any one oftheir senses, including sight, sound, touch, taste, and smell. Forexample, a person may sense and/or interact with audio objects thatcreate 3D or spatial audio environment that provides the perception ofpoint audio sources in 3D space. In another example, audio objects mayenable audio transparency, which selectively incorporates ambient soundsfrom the physical environment with or without computer-generated audio.In some CGR environments, a person may sense and/or interact only withaudio objects.

Examples of CGR include virtual reality and mixed reality.

A virtual reality (VR) environment refers to a simulated environmentthat is designed to be based entirely on computer-generated sensoryinputs for one or more senses. A VR environment comprises a plurality ofvirtual objects with which a person may sense and/or interact. Forexample, computer-generated imagery of trees, buildings, and avatarsrepresenting people are examples of virtual objects. A person may senseand/or interact with virtual objects in the VR environment through asimulation of the person's presence within the computer-generatedenvironment, and/or through a simulation of a subset of the person'sphysical movements within the computer-generated environment.

In contrast to a VR environment, which is designed to be based entirelyon computer-generated sensory inputs, a mixed reality (MR) environmentrefers to a simulated environment that is designed to incorporatesensory inputs from the physical environment, or a representationthereof, in addition to including computer-generated sensory inputs(e.g., virtual objects). On a virtuality continuum, a mixed realityenvironment is anywhere between, but not including, a wholly physicalenvironment at one end and virtual reality environment at the other end.

In some MR environments, computer-generated sensory inputs may respondto changes in sensory inputs from the physical environment. Also, someelectronic systems for presenting an MR environment may track locationand/or orientation with respect to the physical environment to enablevirtual objects to interact with real objects (that is, physicalarticles from the physical environment or representations thereof). Forexample, a system may account for movements so that a virtual treeappears stationery with respect to the physical ground.

Examples of mixed realities include augmented reality and augmentedvirtuality.

An augmented reality (AR) environment refers to a simulated environmentin which one or more virtual objects are superimposed over a physicalenvironment, or a representation thereof. For example, an electronicsystem for presenting an AR environment may have a transparent ortranslucent display through which a person may directly view thephysical environment. The system may be configured to present virtualobjects on the transparent or translucent display, so that a person,using the system, perceives the virtual objects superimposed over thephysical environment. Alternatively, a system may have an opaque displayand one or more imaging sensors that capture images or video of thephysical environment, which are representations of the physicalenvironment. The system composites the images or video with virtualobjects, and presents the composition on the opaque display. A person,using the system, indirectly views the physical environment by way ofthe images or video of the physical environment, and perceives thevirtual objects superimposed over the physical environment. As usedherein, a video of the physical environment shown on an opaque displayis called “pass-through video,” meaning a system uses one or more imagesensor(s) to capture images of the physical environment, and uses thoseimages in presenting the AR environment on the opaque display. Furtheralternatively, a system may have a projection system that projectsvirtual objects into the physical environment, for example, as ahologram or on a physical surface, so that a person, using the system,perceives the virtual objects superimposed over the physicalenvironment.

An augmented reality environment also refers to a simulated environmentin which a representation of a physical environment is transformed bycomputer-generated sensory information. For example, in providingpass-through video, a system may transform one or more sensor images toimpose a select perspective (e.g., viewpoint) different than theperspective captured by the imaging sensors. As another example, arepresentation of a physical environment may be transformed bygraphically modifying (e.g., enlarging) portions thereof, such that themodified portion may be representative but not photorealistic versionsof the originally captured images. As a further example, arepresentation of a physical environment may be transformed bygraphically eliminating or obfuscating portions thereof.

An augmented virtuality (AV) environment refers to a simulatedenvironment in which a virtual or computer-generated environmentincorporates one or more sensory inputs from the physical environment.The sensory inputs may be representations of one or more characteristicsof the physical environment. For example, an AV park may have virtualtrees and virtual buildings, but people with faces photorealisticallyreproduced from images taken of physical people. As another example, avirtual object may adopt a shape or color of a physical article imagedby one or more imaging sensors. As a further example, a virtual objectmay adopt shadows consistent with the position of the sun in thephysical environment.

There are many different types of electronic systems that enable aperson to sense and/or interact with various CGR environments. Examplesinclude head mounted systems, projection-based systems, heads-updisplays (HUDs), vehicle windshields having integrated displaycapability, windows having integrated display capability, displaysformed as lenses designed to be placed on a person's eyes (e.g., similarto contact lenses), headphones/earphones, speaker arrays, input systems(e.g., wearable or handheld controllers with or without hapticfeedback), smartphones, tablets, and desktop/laptop computers. Aheadmounted system may have one or more speaker(s) and an integrated opaquedisplay. Alternatively, a head mounted system may be configured toaccept an external opaque display (e.g., a smartphone). The head mountedsystem may incorporate one or more imaging sensors to capture images orvideo of the physical environment, and/or one or more microphones tocapture audio of the physical environment. Rather than an opaquedisplay, a head mounted system may have a transparent or translucentdisplay. The transparent or translucent display may have a mediumthrough which light representative of images is directed to a person'seyes. The display may utilize digital light projection, OLEDs, LEDs,uLEDs, liquid crystal on silicon, laser scanning light source, or anycombination of these technologies. The medium may be an opticalwaveguide, a hologram medium, an optical combiner, an optical reflector,or any combination thereof. In one embodiment, the transparent ortranslucent display may be configured to become opaque selectively.Projection-based systems may employ retinal projection technology thatprojects graphical images onto a person's retina. Projection systemsalso may be configured to project virtual objects into the physicalenvironment, for example, as a hologram or on a physical surface.

As described above, one aspect of the present technology is thegathering and use of data available from various sources to allowcomputing resources to be provided to users across multiple devices. Thepresent disclosure contemplates that in some instances, this gathereddata may include personal information data that uniquely identifies orcan be used to contact or locate a specific person. Such personalinformation data can include demographic data, location-based data,telephone numbers, email addresses, twitter ID's, home addresses, dataor records relating to a user's health or level of fitness (e.g., vitalsigns measurements, medication information, exercise information), dateof birth, or any other identifying or personal information.

The present disclosure recognizes that the use of such personalinformation data, in the present technology, can be used to the benefitof users. For example, the personal information data can be used toidentify the devices that are being used by a user and to identify thecomputing resources needed based on the applications being used on thosedevices. Accordingly, use of such personal information data enablescalculated control of the computing resources that are provided tousers.

The present disclosure contemplates that the entities responsible forthe collection, analysis, disclosure, transfer, storage, or other use ofsuch personal information data will comply with well-established privacypolicies and/or privacy practices. In particular, such entities shouldimplement and consistently use privacy policies and practices that aregenerally recognized as meeting or exceeding industry or governmentalrequirements for maintaining personal information data private andsecure. Such policies should be easily accessible by users, and shouldbe updated as the collection and/or use of data changes. Personalinformation from users should be collected for legitimate and reasonableuses of the entity and not shared or sold outside of those legitimateuses. Further, such collection/sharing should occur after receiving theinformed consent of the users. Additionally, such entities shouldconsider taking any needed steps for safeguarding and securing access tosuch personal information data and ensuring that others with access tothe personal information data adhere to their privacy policies andprocedures. Further, such entities can subject themselves to evaluationby third parties to certify their adherence to widely accepted privacypolicies and practices. In addition, policies and practices should beadapted for the particular types of personal information data beingcollected and/or accessed and adapted to applicable laws and standards,including jurisdiction-specific considerations. For instance, in the US,collection of or access to certain health data may be governed byfederal and/or state laws, such as the Health Insurance Portability andAccountability Act (HIPAA); whereas health data in other countries maybe subject to other regulations and policies and should be handledaccordingly. Hence different privacy practices should be maintained fordifferent personal data types in each country.

Despite the foregoing, the present disclosure also contemplatesembodiments in which users selectively block the use of, or access to,personal information data. That is, the present disclosure contemplatesthat hardware and/or software elements can be provided to prevent orblock access to such personal information data. For example, in the caseof providing computing resources, the present technology can beconfigured to allow users to select to “opt in” or “opt out” ofparticipation in the collection of personal information data duringregistration for services or anytime thereafter. In another example,users can select not to provide data regarding usage of specificapplications. In yet another example, users can select to limit thelength of time that application usage data is maintained or entirelyprohibit the development of an application usage profile. In addition toproviding “opt in” and “opt out” options, the present disclosurecontemplates providing notifications relating to the access or use ofpersonal information. For instance, a user may be notified upondownloading an app that their personal information data will be accessedand then reminded again just before personal information data isaccessed by the app.

Moreover, it is the intent of the present disclosure that personalinformation data should be managed and handled in a way to minimizerisks of unintentional or unauthorized access or use. Risk can beminimized by limiting the collection of data and deleting data once itis no longer needed. In addition, and when applicable, including incertain health related applications, data de-identification can be usedto protect a user's privacy. De-identification may be facilitated, whenappropriate, by removing specific identifiers (e.g., date of birth,etc.), controlling the amount or specificity of data stored (e.g.,collecting location data a city level rather than at an address level),controlling how data is stored (e.g., aggregating data across users),and/or other methods.

Therefore, although the present disclosure broadly covers use ofpersonal information data to implement one or more various disclosedembodiments, the present disclosure also contemplates that the variousembodiments can also be implemented without the need for accessing suchpersonal information data. That is, the various embodiments of thepresent technology are not rendered inoperable due to the lack of all ora portion of such personal information data. For example, computingresources may be provided by inferring preferences based on non-personalinformation data or a bare minimum amount of personal information, suchas the content being requested by the device associated with a user,other non-personal information available to the computing resourceservices, or publicly available information.

What is claimed is:
 1. A system, comprising: a first device; a firstaccess point that is located in a first room and is configured toprovide a first line-of-sight dependent wireless data link with thefirst device when the first device is located in the first room; asecond access point that is located in a second room and is configuredto provide a second line-of-sight dependent wireless data link withfirst device when the first device is located in the second room; a basestation that is connected to the first access point and the secondaccess point by wired communications connections, wherein the basestation is configured to: store a user profile, determine a location ofthe first device as corresponding to one of the first room or the secondroom, wherein the location of the first device is determined tocorrespond to the first room when the first device is wirelesslyconnected to the first access point using the first line-of-sightdependent wireless data link, and the location of the first device isdetermined to correspond to the second room when the first device isconnected to the second access point using the second line-of-sightdependent wireless data link; determine whether the first device isallowed to access an application based on a parental control policyassociated with the user profile and a location of the first device,wherein the parental control policy allows access to the application bythe first device when the first device is located in the first room, andthe parental control policy does not allow access to the application bythe first device when the first device is located in the second room, inresponse to a determination, by the base station, that the first deviceis allowed to access the application at the location of the firstdevice, transmit content corresponding to the application from the basestation to the first device for display of the content by the firstdevice using the first line-of-sight dependent wireless data linkbetween the first access point and the first device.
 2. The system ofclaim 1, wherein the base station is configured execute the applicationand transmit content generated using the application to the firstdevice.
 3. The system of claim 1, wherein the first line-of-sightdependent wireless data link uses a 60 GHz frequency band, and thesecond line-of-sight dependent wireless data link uses the 60 GHzfrequency band.
 4. The system of claim 1, wherein the first device isnot able to communicate with the base station using first access pointwhen the device is located in the second room and the first device isnot able to communicate with the base station using the second accesspoint when the device is located in the first room.
 5. The system ofclaim 1, wherein the application is configured to respond to inputs thatare received by the base station from the first device using the firstline-of-sight dependent data link.
 6. The system of claim 1, wherein thebase station is further configured to: in response to a determination,by the base station, that the first device is not allowed to access theapplication at the location of the first device, forgo transmission ofcontent corresponding to the application from the base station to thefirst device.
 7. The system of claim 1, wherein the base station isfurther configured to: determine that the location of the first devicehas changed from the first room to the second room, and in response tothe determination that the device has changed from the first room to thesecond room, determine that the first device is not allowed to accessthe application at the current location of the device and terminatetransmission of content corresponding to the application from the basestation to the device.
 8. A system, comprising: a first device; a seconddevice; a base station that is configured to execute an application andoutput content corresponding to the application for display by the firstdevice; and an access point that is configured to wirelessly connect tothe first device and the second device using a line-of-sight dependentwireless data link, to relay the content corresponding to theapplication from the base station to the first device using theline-of-sight dependent wireless data link, and to relay inputs from thefirst device to the base station using the line-of-sight dependentwireless data link, wherein the base station is configured to: determinethat the first device and the second device are co-located based onconnection of the first device and the second device to the access pointusing the line-of sight dependent wireless data link, in response to thedetermination, by the base station, that the first and second device areco-located, use an access control policy associated with a profilestored on the base station to determine whether to allow the firstdevice to access the application, and in response to a determination, bythe base station, that the first device is allowed to access theapplication based on co-location of the first device and the seconddevice, transmit content corresponding to the application from the basestation to the first device using the access point to which the firstdevice is connected for display of the content by the first device. 9.The system of claim 8, wherein the line-of-sight dependent wireless datalink uses a 60 GHz frequency band.
 10. The system of claim 8, wherein inputs for the application are transmitted from the first device to thebase station using the access point.
 11. The system of claim 8, whereinthe access control policy allows access to the application if both ofthe first device and the second device are allowed to access theapplication.
 12. The system of claim 8, wherein the base station isconnected to the access point by a wired communications connection. 13.A system, comprising: a device; a first access point that is configuredto provide a first line-of-sight dependent wireless data link with thedevice; a second access point that is configured to provide a secondline-of-sight dependent wireless data link with the device; and a basestation that is configured to: access a stored user profile thatindicates that the device is allowed access to a content item when thedevice communicates with the base station using the first access pointand is restricted from accessing the content item when the devicecommunicates with the base station using the second access point,determine whether the device is allowed to access the content itemaccording to the stored user profile and based on whether the device iscommunicating with the base station using the first access point or thesecond access point, and in response to a determination, by the basestation, that the device is allowed to access the content item becausethe device is communicating with the base station using the first accesspoint, transmit content corresponding to the content item from the basestation to the device using the first access point, determine, duringtransmission of the content from the base station to the device usingthe first access point, that the device has disconnected from the firstaccess point and is communicating with the base station using the secondaccess point, and in response to the determination that the device hasdisconnected from the first access point and is communicating with thebase station using the second access point, terminate, by the basestation, transmission of the content from the base station to thedevice.
 14. The system of claim 13, wherein the content item is anability to access the Internet.
 15. The system of claim 14, wherein thebase station provides the content to the device by execution of anapplication by the base station.
 16. The system of claim 15, whereininputs for the application are transmitted from the device to the basestation using at least one of the first access point or the secondaccess point.
 17. The system of claim 13, wherein the first access pointis located in a first room in a building and the second access point islocated in a second room in the building.
 18. The system of claim 17,wherein the device can be moved between the first room in the buildingand the second room in the building.
 19. The system of claim 13, whereinthe first line-of-sight dependent wireless data link and the secondline-of-sight dependent wireless data link use a 60 GHz frequency band.20. The system of claim 13, wherein the device is not able tocommunicate with the base station using first access point when thedevice is located in the second room and the device is not able tocommunicate with the base station using the second access point when thedevice is located in the first room.